![Amazon WorkMailでのメール送受信のログを取得してみた](https://devio2023-media.developers.io/wp-content/uploads/2019/05/amazon-workmail.png)
Amazon WorkMailでのメール送受信のログを取得してみた
こんにちは、CX事業本部 IoT事業部の若槻です。
Amazon WorkMailは、AWSが提供するフルマネージドなEメールサービスです。
WorkMailでは組織内でユーザーがメール送受信などの機能を利用するのですが、組織の管理者が調査などのためにユーザーの利用のログを取得したい場合があります。
今回は、Amazon WorkMailでのメール送受信ログを取得してみました。
やってみた
こちらのドキュメントによるとイベントログ(event logging)を有効にする必要があるとのことなので、やってみます。
前提
下記エントリの設定が実施済みで、WorkMailの組織とユーザーが作成されている前提とします。
イベントログの有効化
Amazon WorkMailのコンソールを https://console.aws.amazon.com/workmail/ から開きます。
設定をする組織を開きます。サイドバーで[Organization settings]を開きます。
すると旧型?のWorkMaolコンソールが開きました。ここで[Monitoring]タブを開き、[Edit]をクリック。(An error occurred loading your journaling settings.
と表示されているのはよく分かりませんでした。)
[Log Events]のチェックボックスにチェックを入れ、[Save]をクリック。
イベントログを有効化できました。
CloudWatch Logsを見ると、すでに/aws/workmail/emailevents/<組織名エイリアス>
という名前でロググループが作成されていますね。
設定が有効化されたというログストリームがが作成されています。
Configurations have been validated (9086ae81-cacd-4aca-bbe4-956bb5a78420).
動作
受信ログ
外部からユーザーのメールアドレス宛にメールを1通送信します。
ユーザーのWebアプリケーションでメール受信を確認できました。
そして前節のロググループを見ると、新しくログイベントが作成されています!
1つ目は、組織がメールを受信したというイベントです。ORGANIZATION_EMAIL_RECEIVED
というイベント名となるようです。受信したメールのfromやsubject、recipients、eventTimeなどの情報が確認できます。しかしメールのbody(本文)については記録されないようです。
{ "accountId": "xxxxxxxxxxxx", "organizationId": "m-c91a53bff2d14abf9cfb8c5fd5d68879", "traceId": "0e7364c41cc217432cad02987097e9ad", "eventTime": 1644158705502, "event": { "spamVerdict": "PASS", "recipients": [ "wakatsuki@wakatsuki-org.awsapps.com" ], "subject": "テスト件名", "messageId": "<CADNx-0m=sDFBnFYMjm56noCDmhKPR7LOk6gjXHq_itZuA0G9AQ@mail.gmail.com>", "eventName": "ORGANIZATION_EMAIL_RECEIVED", "from": "xxxxxxxxxxxx@example.com", "dmarcVerdict": "GRAY", "spfVerdict": "PASS", "messageTimestamp": 1644158704080, "dkimVerdict": "PASS" } }
2つ目は、ユーザーがメールを受信したというイベントです。MAILBOX_EMAIL_DELIVERED
というイベント名となるようです。folder
フィールドで受信メールがどのフォルダに格納されたかが確認できますね。
{ "accountId": "xxxxxxxxxxxx", "organizationId": "m-c91a53bff2d14abf9cfb8c5fd5d68879", "traceId": "0e7364c41cc217432cad02987097e9ad", "eventTime": 1644158708378, "event": { "recipient": "wakatsuki@wakatsuki-org.awsapps.com", "eventName": "MAILBOX_EMAIL_DELIVERED", "folder": "Inbox" } }
送信ログ
前節で受信したメールにユーザーから返信をしてみます。
ロググループを見ると、先程と同じくログイベントが2つ作成されています。
1つ目は、組織からメールが送信されたというイベントです。OUTGOING_EMAIL_SUBMITTED
というイベント名となるようです。受信時と同じくメールのfromやsubject、recipients、eventTimeなどの情報が確認できます。しかしメールのbody(本文)については記録されないようです。
{ "accountId": "xxxxxxxxxxxx", "organizationId": "m-c91a53bff2d14abf9cfb8c5fd5d68879", "traceId": "f40e43fa1682892000cac7285da50987", "eventTime": 1644159681481, "event": { "eventName": "OUTGOING_EMAIL_SUBMITTED", "from": "wakatsuki@wakatsuki-org.awsapps.com", "sender": "", "recipients": [ "xxxxxxxxxxxx@example.com" ], "subject": "RE: テスト件名" } }
2つ目は、ユーザーがメールを送信したというイベントです。OUTGOING_EMAIL_SENT
というイベント名となるようです。
{ "accountId": "xxxxxxxxxxxx", "organizationId": "m-c91a53bff2d14abf9cfb8c5fd5d68879", "traceId": "f40e43fa1682892000cac7285da50987", "eventTime": 1644159682939, "event": { "recipient": "xxxxxxxxxxxx@example.com", "messageId": "0100017ecf8dc609-6628f29d-75cd-42bd-b8e3-6545edf54ca0-000000", "eventName": "OUTGOING_EMAIL_SENT", "from": "wakatsuki@wakatsuki-org.awsapps.com" } }
まとめ
Amazon WorkMailの組織でイベントログを有効にすると、メール送受信時のログが記録される。
- ログからは送受信されたメールの日時(eventTime)、件名(subject)、送信者(from)、受信者(recipients)などの情報が確認可能。
- ただし本文(body)は記録されないため確認できない。
以上